Desktop search from mobile device

ABSTRACT

Content management architecture for a portable wireless device. Caching and fetching techniques are provided to improve content handling for portable devices such as cellular telephones and portable computers. A search component automatically performs searches as a background process, and potentially desired content is received and cached by a content storing component to be available in the future when and if needed, mitigating latency associated with slow download speeds, refresh rates, and other system and/or network impediments. Content from background search results can be trickled into the device as part of the background process so as not to burden system resources for other processes. As part of memory management, aged and/or low priority or low interest content can be selectively removed or archived to increase available cache or memory space, as well as to maintain relevant content within the device. A presentation component facilitates presentation of the pre-stored content.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is related to co-pending U.S. patent application Ser.No. ______ (Atty. Dkt. No. MSFTP1344US) entitled “ARCHITECTURE FOR USER-AND CONTEXT-SPECIFIC PREFETCHING AND CACHING OF INFORMATION ON PORTABLEDEVICES” (Ozzie, et al.) filed of even date, the entirety of which isincorporated herein by reference.

BACKGROUND

The Internet provides unprecedented access to an ever-increasing numberof potential customers ranging from businesses to individuals. Forexample, Internet-gaming such as casino-type games and computer gameshave skyrocketed to a multi-billion dollar industry, thereby providing aform of leisure activity for millions of users while also providing aboon to companies involved in such an industry by providing access tonew sources of advertising revenue.

Money expended for online advertising for fixed as well as portablewireless device (e.g., portable computers) in the United States alone,is in the billions of dollars per year, and continues to increase withno end in sight. Additionally, rapid advances in cellular networks andrelated products have followed suit making cell phones and cell-capabledevices just as pervasive as IP-based devices, if not more pervasivethan such computing devices, providing access to yet even more peopleand sources of advertising revenue.

A more effective solution for reaching a greater number of individualsis by communicating “one-on-one” with each potential customer andtargeting each individual based on his or her preferences, tastes,buying habits, wants, needs, and so on, to offer the most effect meansfor making a sale. Accordingly, the Internet, cellular networks, andtheir myriad of websites and millions of users provide a convenient andmore effective mechanism for presenting advertisements in a one-on-onefashion.

Portable wireless devices such as cellular telephones and portablecomputing devices provide mechanisms for reaching millions of potentialcustomers. However, portable devices such as cell phones are designedwith a compromise in battery power and computing power. Thus, thecomputing capabilities of cell phones, for example, are more limitedthan desktop computers, where battery power is not an issue.Additionally, portable devices may be disconnected from wireless orwired communications (or untethered) for variable periods of time. Attimes, the devices may be able to communicate at low bandwidth, or maynot have access to the resources of a private corporate network.Accordingly, it is desirable to find new data management mechanisms(e.g., affiliated with memory management) for use in portable wirelessdevices that facilitate approaching the user experience normallyassociated with desktop systems for accessing, processing, interactingand presenting information.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some aspects of the disclosed innovation. This summaryis not an extensive overview, and it is not intended to identifykey/critical elements or to delineate the scope thereof. Its solepurpose is to present some concepts in a simplified form as a prelude tothe more detailed description that is presented later.

The disclosed architecture enhances user experience in portable wirelessdevices (e.g., cell phones and portable computers) by prefetchinginformation and content into the devices via searching as a backgroundprocess thereby making available the information and content beforepresentation thereof is expected.

The invention takes into consideration that user state and overall usercontext may change at a much higher rate, and arguably, magnitude,within the context of a portable device versus desktop computer.Additionally, portable wireless devices typically have less hardwareand/or software capability as compared to desktop computing devicesrelated to, for example, available network communications bandwidth(wireless versus wired), memory capability, processing capability, anddisplay real estate.

The subject innovation facilitates content (or information) managementin portable wireless devices such as cellular telephones and portablecomputers by utilizing caching and fetching techniques to improvecontent handling. More specifically, searches are automaticallyperformed (e.g., continuously) as a background process, and potentiallydesired content is received and cached to be available when and ifneeded. This mitigates latency associated with slow download speeds,refresh rates, and other system and/or network impediments such as lessrobust device hardware and/or software.

Content from background search results can be downloaded based on thecapabilities (e.g., hardware and/or software) of the portable device.For example, if it is determined that the system processing capabilityis limited, content from search results can be trickled into (ordownloaded to) the device as part of the background process so as not toburden system resources being utilized for other processes.

With respect to memory management, aged and/or low priority or lowinterest content can be selectively removed or archived to increaseavailable cache or memory space, as well as to maintain relevant contentwithin the device.

Additionally, new advertising models can be provided. When used incombination with one advertising model, for example, a merchant canoffer a free cell phone provided that the user allows pre-installedmachinery to receive and display content and advertisements approved bythe merchant. Alternately, or in combination therewith, advertisementscan be cached on the device so as to be later dynamically displayed as afunction of various triggers (e.g., current device location, userstate/context, user receptiveness to particular advertisements, and soon). User interaction with the cached content can be logged and cachedfor making downstream decisions about the display of content to the userlocally and the prefetching of additional information into the computerscache when bandwidth becomes available. The logged behaviors orsummaries thereof can, with prior user permission or by real-timerequest of the user, be uploaded to servers for analysis. Such analysiscan be used in decision making about the best next content to downloadto device.

In support thereof, the invention disclosed and claimed herein, in oneaspect thereof, comprises a computer-implemented system that facilitatescontent presentation in a portable wireless device. The system includesa computer-executable search component that performs an automated searchas a background process, a computer-executable content storing componentthat stores content corresponding to the automated search for futureaccess, and a computer-executable presentation component that presents asubset of the pre-stored content as a function of at least one of userstate, user content, and user preference.

To the accomplishment of the foregoing and related ends, certainillustrative aspects of the disclosed innovation are described herein inconnection with the following description and the annexed drawings.These aspects are indicative, however, of but a few of the various waysin which the principles disclosed herein can be employed and is intendedto include all such aspects and their equivalents. Other advantages andnovel features will become apparent from the following detaileddescription when considered in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a computer-implemented system that facilitatescontent management in a portable wireless device in accordance with aninnovative aspect.

FIG. 2 illustrates a methodology of managing content in a portablewireless device.

FIG. 3 illustrates a methodology of managing content based on deviceresources in accordance with another aspect.

FIG. 4 illustrates an alternative system that facilitates contentmanagement in a portable wireless device in accordance with a novelaspect.

FIG. 5 illustrates a methodology of cache management based on content.

FIG. 6 illustrates an alternative methodology of managing device memoryin accordance with the disclosed innovation.

FIG. 7 illustrates a flow diagram of a methodology of managingmerchant-based content in accordance with an aspect.

FIG. 8 illustrates a methodology of employing machine learning andreasoning for adapting content based on user information in accordancewith one aspect.

FIG. 9 illustrates a flow diagram of a methodology of managing contentbased on an offline mode.

FIG. 10 illustrates a methodology of content management utilizinglocked-in data.

FIG. 11 illustrates a methodology of managing content by processingcontent changes in accordance with another aspect.

FIG. 12 illustrates a methodology of just-in-time content presentationfor a portable wireless device from a remote entity.

FIG. 13 illustrates a flow diagram of a methodology of developing asearch query for the search background process.

FIG. 14 illustrates a flow diagram of a methodology of managing contentbased on other user information.

FIG. 15 illustrates a block diagram of a computer operable to executethe disclosed background searching and caching architecture.

FIG. 16 illustrates a schematic block diagram of a portable wirelessdevice for user- and context-specific prefetching and caching inaccordance with the disclosed architecture.

FIG. 17 illustrates a schematic block diagram of an exemplary computingenvironment for background searching and caching in accordance withanother aspect.

DETAILED DESCRIPTION

The innovation is now described with reference to the drawings, whereinlike reference numerals are used to refer to like elements throughout.In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding thereof. It may be evident, however, that the innovationcan be practiced without these specific details. In other instances,well-known structures and devices are shown in block diagram form inorder to facilitate a description thereof.

Referring initially to the drawings, FIG. 1 illustrates acomputer-implemented system 100 that facilitates content management in aportable wireless device 102 in accordance with an innovative aspect. Acomputer-executable search component 104 is provided that performs anautomated search as a background process. A trigger component 106facilitates triggering or initiation of the search process by any numberof data or events. For example, user preferences can be configured toautomatically search for information based user interaction with thedevice, such as associated with powering the device or pressing a buttonon a keypad. Other events or data can be associated with user context,user state, a change in user context or user state, environmental data,temporal data, geolocation data (e.g. global positioning system), and soon.

The system 100 of the device 102 can also include a computer-executablecontent storing component 108 that facilitates storage (e.g., pre-storedbefore presentation, if presented at all) and access of the contentcorresponding to the automated search, via a storage system 110. It isto be understood that the content can be stored for access andpresentation at some future time, or it may not be accessed andpresented at all. In the latter case, and in one implementation,eventually it can be aged out and archived or discarded altogether. Acomputer-executable presentation component 112 of the system 100facilitates presentation (e.g., visually and/or audibly) of some or allof the pre-stored (or pre-fetched) content as a function of triggeringevents or data related to at least one of user state, user content, anduser preference, for example.

The searches in accordance with various embodiments described herein canbe performed as Internet search as well as searches within an intranet(e.g., a search of information stored on a remote desktop computer orwithin a corporate network). Mobile devices are typically present onusers (or proximate thereto) during most hours of the day. Accordingly,such devices provide a very convenient mechanism to deliver relevant ordesired content to a user in an immediate fashion. Prefetching and/orpre-caching information as a function of user preference, state, contextor other metrics enhances a user experience and offsets some of theinherent limitations (e.g., bandwidth, memory, processing capability,display real estate . . . ) of portable devices as compared to desktopcomputers. It is to be appreciated that content deemed of low valuebased on device capabilities and user-related metrics can be selectivelyaged out of storage to make room for new content.

The disclosed methods are not only for “wireless” devices, but also findapplication for devices that may be tethered at times—tethering is agreat opportunity for doing intensive log downloads, analysis, andupload of large amounts of cached information. Moreover, predictions canbe made about the amount of time between tetherings, time until nexttether (or wireless connection), etc., to guide decisions about whetherto use an expensive or bandwidth-limited wireless signal or wait for acheaper, or higher-rate channel, or until a wired tether becomesavailable.

FIG. 2 illustrates a methodology of managing content in a portablewireless device. While, for purposes of simplicity of explanation, theone or more methodologies shown herein, for example, in the form of aflow chart or flow diagram, are shown and described as a series of acts,it is to be understood and appreciated that the subject innovation isnot limited by the order of acts, as some acts may, in accordancetherewith, occur in a different order and/or concurrently with otheracts from that shown and described herein. For example, those skilled inthe art will understand and appreciate that a methodology couldalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, not all illustrated actsmay be required to implement a methodology in accordance with theinnovation.

At 200, a portable wireless device (e.g., a cell phone) is received thatincludes the innovative content management architecture. At 202, basedon triggering data, a background search process is initiated. At 204,search results content (e.g., audio file, video file, image, graphics,text, . . . ) is received. At 206, the content is stored in the device.Storage can be in cache (or high speed) memory for quick access.Alternatively, or in combination therewith, storage can be in mass (orslower speed) storage such as associated hard drives and ROM (read-onlymemory), for example. At 208, the content is accessed and presented atsome time after the initial storage. For example, if the portable deviceis a cell phone and includes a global positioning system (GPS) locationof a user is known as well as businesses near to the user, a search canbe performed that pre-fetches and caches information relating to suchbusinesses (e.g. restaurant menus, sales, type of business, . . . ) andbased upon the user's preference, state and/or content a subset of thepre-fetched or pre-stored information can be selectively presented tothe user. As will be discussed in greater detail infra, the architecturecan be implicitly or explicitly trained so as to be tuned to presentrelevant information at an appropriate frequency as well as time.Moreover, a utility-based analysis can be performed that factors theinferred cost of interrupting the user with content when not desiredversus the inferred benefit to the user of presenting the content.

Referring now to FIG. 3, there is illustrated a methodology of managingcontent based on device resources in accordance with another aspect. At300, a search is initiated as a background process based on triggeringdata. At 302, present capabilities of the device are assessed. Thisincludes determining one or more of the running processes of the device,and available memory or storage, should the content download beginimmediately or in the very near future. For example, if it is determinedthat search results content includes an audio file, which file normallyis much larger than a text file, for example, download of such a largerfile can require device resources that could impact currently-runningdevice processes. Thus, it could be more beneficial to download thecontent during an off-peak time, or control the download to reduce (ortrickle) the amount of content being downloaded such that thecurrently-running processes are not impacted, or at least minimallyburdened. Accordingly, at 304, download of the content is based ondevice resource capabilities.

Device resource capabilities can also include assessing the bandwidth ofnetwork connection between the device the wireless access point at anypoint in time, alone or in combination with the state of the deviceprocesses. At 306, the content is downloaded and stored in the device(e.g., cached). At 308, the content is accessed and displayed at sometime after the initial storage.

FIG. 4 illustrates an alternative system 400 that facilitates contentmanagement in a portable wireless device 402 in accordance with a novelaspect. The system 400 includes the search component 104, triggercomponent 106, content storing component 108 that facilitates storageand access of the content corresponding to the automated search via thestorage system 110, and presentation component 112 of FIG. 1.Additionally, the system 400 includes an environment component 404 thatmonitors (or senses) environmental conditions such as temperature,humidity, altitude, pressure, and velocity, for example. The system 400further includes a user state component 406 that monitors user statesuch as associated with user interaction with the device, for example.

With a user's permission, logs of a users' interactions with cachedinformation and other interactions or activities on the device can berelayed in real-time or in summary packets of information to servers forguiding decisions about the best information to send in the future. Thiscan be done on a single-user basis or based on the analysis ofpopulations of user behaviors accessed via such logs.

A context component 408 monitors device (and hence, user) context.Context can be physical geolocation context such as to whether the useris located in or near a city or in the mountains, for example. Contextcan be determined according to a more granular level such as whether thedevice is near a street intersection or near a retail store, forexample. Context can also be in relation to what software applicationsthe user may currently be interacting with (e.g., an e-mail program, aword processing program, . . . ).

A user preferences component 410 stores and provides access to userpreferences information. User preferences can be utilized to filter thecontent to be downloaded, or even to filter the context after beingdownloaded and to be presented. User preferences information can befixed according by the user, or allowed to be modified based on userinteraction, for example.

A filter component 412 can also be employed as a means to filter contentreturned from a search. In one example, this is used to prevent childrenfrom downloading unacceptable content. In another application, thefilter component 412 can be used by a merchant to limit the type ofcontent returned by a search to only its approved content. The filtercomponent 412 can also filter content based on the user preferences ascreated in the preferences component 410.

The system 400 can also include a tracking component 414 that tracks andlogs system parameters, user interaction and, other data and events. Thetracking component 414 facilitates maintaining a history of use of thedevice 402. This can include updates applied, user changes, devicesettings, software accessed, and so on. Some or all of this informationcan be analyzed and processed to determine how and when search resultscontent will be managed and presented.

The system 400 of the device 402 can also employ a machine learning andreasoning (MLR) component 416 which facilitates automating one or morefeatures in accordance with the subject innovation. The invention (e.g.in connection with selection) can employ various MLR-based schemes forcarrying out various aspects thereof. For example, a process fordetermining when to download content of a search can be facilitated viaan automatic classifier system and process.

A classifier is a function that maps an input attribute vector, x=(x1,x2, x3, x4, xn), to a class label class(x). The classifier can alsooutput a confidence that the input belongs to a class, that is,f(x)=confidence(class(x)). Such classification can employ aprobabilistic and/or other statistical analysis (e.g., one factoringinto the analysis utilities and costs to maximize the expected value toone or more people) to prognose or infer an action that a user desiresto be automatically performed.

As used herein, terms “to infer” and “inference” refer generally to theprocess of reasoning about or inferring states of the system,environment, and/or user from a set of observations as captured viaevents and/or data. Inference can be employed to identify a specificcontext or action, or can generate a probability distribution overstates, for example. The inference can be probabilistic—that is, thecomputation of a probability distribution over states of interest basedon a consideration of data and events. Inference can also refer totechniques employed for composing higher-level events from a set ofevents and/or data. Such inference results in the construction of newevents or actions from a set of observed events and/or stored eventdata, whether or not the events are correlated in close temporalproximity, and whether the events and data come from one or severalevent and data sources.

A support vector machine (SVM) is an example of a classifier that can beemployed. The SVM operates by finding a hypersurface in the space ofpossible inputs that splits the triggering input events from thenon-triggering events in an optimal way. Intuitively, this makes theclassification correct for testing data that is near, but not identicalto training data. Other directed and undirected model classificationapproaches include, for example, various forms of statisticalregression, naïve Bayes, Bayesian networks, decision trees, neuralnetworks, fuzzy logic models, and other statistical classificationmodels representing different patterns of independence can be employed.Classification as used herein also is inclusive of methods used toassign rank or priority.

As will be readily appreciated from the subject specification, thesubject invention can employ classifiers that are explicitly trained(e.g. via a generic training data) as well as implicitly trained (e.g.,via observing user behavior, receiving extrinsic information). Forexample, SVM's are configured via a learning or training phase within aclassifier constructor and feature selection module. Thus, theclassifier(s) can be employed to automatically learn and perform anumber of functions according to predetermined criteria.

In one example, the MLR component 416 is used to modify user preferencesof the preferences component 410 based on how the user interacts withthe device hardware, alone or in combination with user interaction withthe device software.

According to another alternative example, the MLR component 416 canlearn and reason about data from and events occurring with any othersystem component (104, 106, 108, 110, 112, 404, 406, 408 and 410). In amore specific example, the MLR component 416 can change triggerparameters of the trigger component 106 based on these data and events.

In yet another example, the MLR component 416 can learn and reason aboutwhen to age out or archive cached content. This can be based simply ontime, or on the type of content. For example, if there are several itemsof content currently being cached or considered for being cached, theMLR component 416 can decide which items to discard and which to retainbased on user context, user state, priority, and/or other factors, justto names a few factors for consideration.

The caching and discarding of information may be guided by logical orstatistical predictions about the future intentions, state, or otheraspect of a user's context, based on models built from observationsabout a user's locations and activities made locally or over longerperiods of time.

Additionally, given available memory for caching, a cost-benefitanalysis (exact or approximate) can be employed that maximizes theoverall expected value or expected utility of the cached information atany moment, based on current state and/or predicted future state of theuser. In such a decision-theoretic approach, an item-valuation component418 can be provided that assigns measures of value to each candidateitem, and the memory cost of each item is considered in conjunction withthe value of the items to make caching decisions. For example, theexpected utility of the overall cache can be maximized through an exactor approximate knapsack analysis. The item-valuation component 418 canbe based in association with multiple mechanisms, including the machinelearning and reasoning component 416 and other mechanisms that provide adirect assignment of value. For example, an advertiser could directlyassign a value to one or more items, for example, via bidding on thevalue of providing impressions based on the item for users of particulardemographics, current or future contexts, or interaction scenarios—andthen paying a price that drives the value assigned to an item.

FIG. 5 illustrates a methodology of cache management based on content.At 500, content is received and stored in the device cache. At 502,attributes of cached items are reviewed. At 504, based on theattributes, one or more cache items are retained in cache, stored, ordiscarded. At 506, a next background search is initiated automatically.At 508, cache space needed for next search content is anticipated. At510, attributes of currently cached items are reviewed and cached itemsbased on next search content are managed. Thus, the system continuallymonitors and manages its caching capability with respect to existingcached items and properties of incoming content.

Referring now to FIG. 6, there is illustrated an alternative methodologyof managing device memory in accordance with the disclosed innovation.At 600, a search is initiated as a background process. At 602, userinteraction data is analyzed in preparation for determining where tostore the search results. At 604, the system determines where to storethe search content based on the analysis. At 606, if the content is tobe stored in cache, the process continues to 608 to manage the currentlycached items based on content attributes by retaining content in cache,offloading content from cache into slower memory (e.g., mass storagetype storage) or discarding content. Content discard can includediscarding content from the slower memory thereby making room for cachedcontent to be moved to the slower memory, or simply discarding contentdirectly form the cache, for example.

At 610, the search results are then stored in the cache memory.Alternatively, if the search content is not to be stored directly intocache, the process proceeds from 606 to 612, to store the content inslower memory until needed in cache memory. The system will thencontinue to monitor user interaction as a determining factor for movingthe content into cache memory for presentation to the user.

FIG. 7 illustrates a flow diagram of a methodology of managingmerchant-based content in accordance with an aspect. At 700, a portablewireless device for sale by a merchant is received. At 702, merchantcontent is loaded on the device. This merchant content is to bepresented to the device user in place of comparable content returned bya background search. At 704, a search for content (e.g. merchant as wellas non-merchant) is initiated as a background process. At 706, merchantand/or non-merchant search results can be obtained and descriptioninformation about the search results returned. In one implementation,brief description information is returned for all search results. Inanother implementation, only brief description information aboutnon-merchant results is returned for analysis. In other words, ratherthan download the results, which can contain large files such as audiofiles, video files, and images, for example, by downloading onlydescription information sufficient to identify the file types andcontent description, connection bandwidth and device resources can beconserved or at least minimally impacted.

More specifically, if one search result is an audio file, a briefdescription can include the file type (e.g., wav file), and someinformation about the content (e.g., country western music and artistname). This description information may only comprise several kilobytesof data, whereas the complete audio file may comprise several megabytesof data. Accordingly, if the merchant has preloaded country music moreclosely affiliated with its products and/or services, the system canreplace the search results associated with the description informationwith its preloaded country music audio file, and cache it forpresentation to the device user at the desired time.

At 708, the system compares the description information with thepreloaded merchant information. At 710, the preloaded merchant contentis selected. At 712, the other search results are downloaded and stored,less the search result content that will be replaced. At 714, theselected preloaded content is inserted for presentation with the othersearch results content. At 716, the content is cached and presented tothe user at the desired time.

When used in combination with one advertising model, for example, amerchant can offer a free cell phone provided that the user allows apre-installed filter to receive content and advertisements (e.g., viastreaming technology) approved by the merchant. Alternately or incombination therewith, the cell phone can come loaded with pre-cachedadvertisements that are dynamically displayed as a function of varioustriggers (e.g., current device location, user state/context, userreceptiveness to particular advertisements, and so on).

FIG. 8 illustrates a methodology of employing machine learning andreasoning for adapting content based on user information in accordancewith one aspect. At 800, a search is conducted as a background process,and the results content downloaded and cached for presentation to user.At 802, the content is presented to the user in response to triggeringdata and/or event. At 804, the MLR component monitors user interactionwith the content presented. At 806, content to be returned is filteredduring next search based on user interaction with previous searchresults.

For example, if it is determined that the user is spending less timelistening to content, the MLR component can learn and reason about thisto cause a similar type of content to be pre-fetched for presentation,but of a different format, such as viewable content. Rather thanadapting to a different format, the MLR component can adjust the contentby size and/or resolution. Again, if it is learned that the user iscutting short content being presented, the MLR component can cause to bepre-fetched content that plays its entirety in less time.

In another example, if it is determined that the user is moving quickly,as associated with acceleration and velocity information associated witha quick walk, the time for content presentation may be limited.Accordingly, the content searched and cached can be made shorter induration to accommodate the user.

It is to be appreciated that the background process described heretoforecan be that process which is executing while the user is interactingwith the device, such as making a phone call when the device is a cellphone, or checking e-mail when the device is a portable computer.However, in another implementation, the background searching process canbe performed while the user is not interacting with the device at all.For example, when no user interaction is being processed, or programsbeing executed, the device can have as its disposal more systemresources. Thus, without the user being aware of the device activity,selected or minimal device systems can be activated to perform thesearch and return the search content to the device. Under theseconditions, the returned content can be stored directly onto the devicestorage subsystem rather than needing to be cached for quick accessduring times of concurrent user interaction. Thereafter, if the userbegins to interact with the device, selected portions of the content canthen be moved into the device cache for anticipated presentation to theuser.

The amount of memory available for caching and the utility of thecontent cached, from the perspective of a user or other decision maker(e.g. the advertiser), can be used in making decisions about the bestcontent to store. For example, use can be made of a method that attemptsto maximize the overall expected utility of cached information byemploying an exact or approximate knapsack analysis, such as avalue-density approximation. The value of the items can be made afunction of context or age in the cache, and an ongoing re-optimizationcan be performed, driving a process for refreshing of the cachedinformation via discarding of old cached information and downloading ofnew information.

FIG. 9 illustrates a flow diagram of a methodology of managing contentbased on an offline mode. At 900, the system detects that the user isnot interacting with device (e.g., by allowing the device to enter astandby mode, or by the user selecting the power-down button). At 902,minimal system hardware and/or software are activated for search processexecution. At 904, search criteria are accessed, and the searchperformed to return results. At 906, the results are stored to a massstorage subsystem of the device. At 908, portions of content are movedto the device cache based on user interaction with device (e.g., exitinga standby mode). At 910, the content is presented to user based on userinteraction.

It is to be understood that is may be desired that certain data orcontent be locked into a device. Additionally, this data can beconfigured for residing in cache memory at all times for presentationalong with other content. For example, a basic template can be lockedinto the device such that all other content is presented within thistemplate. The template itself can include information such asadvertisements or vendor information that will be presented each timeother content is presented to the device user. The template can beconfigured for only vendor access, thereby prohibiting the user fromchanging or preventing the template from being presented. The templatecan be configure for not only visual presentation but also for audiocontent such that each time it is presented, a brief audio clip isexecuted as a precursor to perceiving the searched content.

Accordingly, FIG. 10 illustrates a methodology of content managementutilizing locked-in data. At 1000, data is preloaded and locked into thedevice cache memory. Locked-in in this context can mean that the data ishard-coded into the cache memory at predetermine memory locations orwill always be uploaded from the mass storage or a slower memorysubsystem as a system startup function or early in device operation oruse. At 1002, the search is conducted as a background process. At 1004,search results are returned for presentation. At 1006, the data ispresented each time content is presented to the user, and along with thecontent or along with selected content. Content can be obtained by wayof searches, that is, prefetching or pulling the content to the device.In another implementation, the content can be pushed to the device basedon information transmitted to the pushing system. For example, if thedevice is not sufficiently robust in hardware and/or softwarecapabilities, streaming content can be pushed to the device and cachedbriefly in response to user interaction or other triggering data and/orevents.

In yet another implementation, remote systems can push content to thedevice based on search results to be returned, which content is notsimilar to the search results. For example, if a website detects asearch by the device, and returns content, it can automatically push onepiece of other content along with the results that may indicate that aspecial is being offered at this very moment, for example.

A more recent web development technique employs AJAX (asynchronousjavascript and XML) for creating interactive web applications. AJAXutilizes a collection of technologies together, such as XML (extensiblemarkup language), XHTML (or HTML) for markup and styling, and anXMLHttpRequest object for asynchronous data exchange, a DOM fordisplaying and interacting with presented information. Under suchsimilar implementations, content can be trickled to the device forviewing or presentation. Rather than present separate windows for thecontent, a single scrolling window can be presented having a continuallyexpanding scroll bar, for example, as the content continues to arrive.

It is to be appreciated that searching need not be to a remote networklocation (e.g., on the Internet), but can be facilitated against adesktop computing system and its information. For example, when the userbrings the portable device (e.g., a cell phone) within a suitable rangeof a desktop computer, the device can synch up and be utilized to searchthe desktop computing system for information as well.

Given that the hardware and/or software capabilities of the portablewireless device can be limited, another alternative implementationallows the user to subscribe only to the changes in the content. Ratherthan searching for new content, the search returns only the changes tothe existing content, returns the changes, merges the changes into thecompatible local content, caches it, and presents it when desired.

FIG. 11 illustrates a methodology of managing content by processingcontent changes in accordance with another aspect. At 1100, a backgroundsearch is conducted, and results returned and stored on the device. At1102, a new search is initiated based on search trigger information. At1104, the search results are obtained. This can mean that the resultsare stored temporarily at a remote location or downloaded to the device.At 1106, the new search results are compared to the local content. At1108, the changes between the local content and the new search resultsare downloaded and stored on the device. At 1110, the local content towhich the changes apply is updated with the changes. At 1112, theupdated content is cached in preparation for presentation to the deviceuser when desired. In another version of the above, just the changeswill be displayed, and no other content. In yet another version thereof,the user is given a choice of subscribing to the changed information.

In yet another implementation of the subject invention, caching can beprovided on the network in support of downloading and presenting contentto a wireless device. In other words, content shuffling, aging, etc.,can be performed on the network, and only the most relevant or inferredto be relevant content is then downloaded and presented just-in-time tothe user.

FIG. 12 illustrates a methodology of just-in-time content presentationfor a portable wireless device. At 1200, the device receives andprocesses information that triggers initiation of a background search.At 1202, the search is executed by the device. At 1204, the searchresults content is obtained and cached remotely on a network entity. At1206, based on further information received from the device at thenetwork entity, the content is downloaded to the device, cached, andpresented to the device user. In order to better define the automatedsearch criteria or terms, the device system can monitor other deviceaspects. For example, as part of the search background process, thedevice system looks at desktop data such as links, icons, etc., or dataassociated with e-mail, or data associated with recently accessedwebsites (e.g., in a Favorites folder)

FIG. 13 illustrates a flow diagram of a methodology of developing asearch query for the search background process. At 1300, the devicetriggers initiation of the search. At 1302, a local scan is initiatedfor terms and/or phrases or other information to employ in the searchquery. At 1304, the information is inserted into the search query. At1306, the search is performed and content returned. At 1308, the contentis cached in preparation for presentation. At 1310, the content ispresented based on user interaction with the device. Note that where theportable device can link up via a peer-to-peer connection, desktopinformation of the other peer device (e.g., a desktop computer of thesame or different user) can also be employed.

In another alternative implementation, content for pre-fetch and cachingcan be based on what other device users have been searched. For example,based on the particular type of device, or the current location of thedevice and what other users searched when they were at the samelocation, this can be the basis for deriving the search terms.

In one specific example, the device can compute the location of a user,and process user preferences when at this location, and based on this,perform an automatic search for content related to how the userinteracts when at this location. Consider that the location of the userdevice is determined by a geolocation technology to be at the airport,for example. Machine learning and reasoning can infer that the user mayeventually be boarding an airplane or exiting an airplane based also onintrinsic information retrieved from an e-mail program or calendar thatthe user is traveling. Content searched, downloaded, and presented canbe related to information the person likes to read when in these airportsituations.

In a shopping and consumer activities environment, shopping lists andinterest lists can be auto-generated and, automatically enabled andpresented in response to the user walking into a mall or the userdriving past the mall, for example. Given the velocity of the userdevice and direction of movement, content can be search and the resultsstreamed into the device cache in preparation for expected presentationas the user moves past an anticipated point of interest. Multimediainformation can be cached and discarded automatically based on userlocation relative to malls and businesses, without the user noticing anyburden to device systems. Additionally cached content can be rendered atappropriate times such as during commercial breaks while listening toother media.

Accordingly, FIG. 14 illustrates a flow diagram of a methodology ofmanaging content based on other user information. At 1400, the systeminitiates determination of the device and/or user geolocation context.At 1402, the system automatically searches based on the geolocationinformation for relevant points of interest. At 1404, the point ofinterest data is received and processed into another search query andexecuted. At 1406, content about what others may have done when at thisgeolocation is received and cached. At 1408, this information ispresented to the user based on trigger information.

In yet another exemplary implementation, mobile query logs, logs taggedby location, geolocation technologies (e.g., GPS), resources providedand/or made available in the area of the device, velocity of device ascarried by a vehicle driver, and predicted destination are just examplesof information that can be obtained and utilized for searching as abackground process for the portable wireless device. Moreover, asindicated supra, intentions can be inferred by finding and analyzinginformation found local to the device as well as web-based informationof the device user and other similarly situated users.

As used in this application, the terms “component” and “system” areintended to refer to a computer-related entity, either hardware, acombination of hardware and software, software, or software inexecution. For example, a component can be, but is not limited to being,a process running on a processor, a processor, a hard disk drive,multiple storage drives (of optical and/or magnetic storage medium), anobject, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server can be a component. One or more components canreside within a process and/or thread of execution, and a component canbe localized on one computer and/or distributed between two or morecomputers.

Referring now to FIG. 15, there is illustrated a block diagram of aportable computer operable to execute the disclosed background searchingand caching architecture. In order to provide additional context forvarious aspects thereof, FIG. 15 and the following discussion areintended to provide a brief, general description of a suitable computingenvironment 1500 in which the various aspects of the innovation can beimplemented. While the description above is in the general context ofcomputer-executable instructions that may run on one or more computers,those skilled in the art will recognize that the innovation also can beimplemented in combination with other program modules and/or as acombination of hardware and software.

Generally, program modules include routines, programs, components, datastructures, etc., that perform particular tasks or implement particularabstract data types. Moreover, those skilled in the art will appreciatethat the inventive methods can be practiced with other computer systemconfigurations, including single-processor or multiprocessor computersystems, minicomputers, mainframe computers, as well as personalcomputers, hand-held computing devices, microprocessor-based orprogrammable consumer electronics, and the like, each of which can beoperatively coupled to one or more associated devices.

The illustrated aspects of the innovation may also be practiced indistributed computing environments where certain tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules can belocated in both local and remote memory storage devices.

A computer typically includes a variety of computer-readable media.Computer-readable media can be any available media that can be accessedby the computer and includes both volatile and non-volatile media,removable and non-removable media. By way of example, and notlimitation, computer-readable media can comprise computer storage mediaand communication media. Computer storage media includes both volatileand non-volatile, removable and non-removable media implemented in anymethod or technology for storage of information such ascomputer-readable instructions, data structures, program modules orother data. Computer storage media includes, but is not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalvideo disk (DVD) or other optical disk storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by the computer.

With reference again to FIG. 15, the exemplary environment 1500 forimplementing various aspects includes a computer 1502, the computer 1502including a processing unit 1504, a system memory 1506 and a system bus1508. The system bus 1508 couples system components including, but notlimited to, the system memory 1506 to the processing unit 1504. Theprocessing unit 1504 can be any of various commercially availableprocessors. Dual microprocessors and other multi-processor architecturesmay also be employed as the processing unit 1504.

The system bus 1508 can be any of several types of bus structure thatmay further interconnect to a memory bus (with or without a memorycontroller), a peripheral bus, and a local bus using any of a variety ofcommercially available bus architectures. The system memory 1506includes read-only memory (ROM) 1510 and random access memory (RAM)1512. A basic input/output system (BIOS) is stored in a non-volatilememory 1510 such as ROM, EPROM, EEPROM, which BIOS contains the basicroutines that help to transfer information between elements within thecomputer 1502, such as during start-up. The RAM 1512 can also include ahigh-speed RAM such as static RAM for caching data.

The computer 1502 further includes an internal hard disk drive (HDD)1514 (e.g., EIDE, SATA), which internal hard disk drive 1514 may also beconfigured for external use in a suitable chassis (not shown), amagnetic floppy disk drive (FDD) 1516, (e.g., to read from or write to aremovable diskette 1518) and an optical disk drive 1520, (e.g., readinga CD-ROM disk 1522 or, to read from or write to other high capacityoptical media such as the DVD). The hard disk drive 1514, magnetic diskdrive 1516 and optical disk drive 1520 can be connected to the systembus 1508 by a hard disk drive interface 1524, a magnetic disk driveinterface 1526 and an optical drive interface 1528, respectively. Theinterface 1524 for external drive implementations includes at least oneor both of Universal Serial Bus (USB) and IEEE 1394 interfacetechnologies. Other external drive connection technologies are withincontemplation of the subject innovation.

The drives and their associated computer-readable media providenonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For the computer 1502, the drives and mediaaccommodate the storage of any data in a suitable digital format.Although the description of computer-readable media above refers to aHDD, a removable magnetic diskette, and a removable optical media suchas a CD or DVD, it should be appreciated by those skilled in the artthat other types of media which are readable by a computer, such as zipdrives, magnetic cassettes, flash memory cards, cartridges, and thelike, may also be used in the exemplary operating environment, andfurther, that any such media may contain computer-executableinstructions for performing the methods of the disclosed innovation.

A number of program modules can be stored in the drives and RAM 1512,including an operating system 1530, one or more application programs1532, other program modules 1534 and program data 1536. All or portionsof the operating system, applications, modules, and/or data can also becached in the RAM 1512. It is to be appreciated that the innovation canbe implemented with various commercially available operating systems orcombinations of operating systems.

A user can enter commands and information into the computer 1502 throughone or more wired/wireless input devices, for example, a keyboard 1538and a pointing device, such as a mouse 1540. Other input devices (notshown) may include a microphone, a touch pad, an IR remote control, ajoystick, a game pad, a stylus pen, touch screen, or the like. These andother input devices are often connected to the processing unit 1504through an input device interface 1542 that is coupled to the system bus1508, but can be connected by other interfaces, such as a parallel port,an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc.A display 1544 (e.g., an LCD) is also connected to the system bus 1508via an interface, such as a video adapter 1546, for the presentation ofinformation and to facilitate user interaction.

The computer 1502 may operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, such as a remote computer(s) 1548. The remotecomputer(s) 1548 can be a workstation, a server computer, a router, apersonal computer, portable computer, microprocessor-based entertainmentappliance, a peer device or other common network node, and typicallyincludes many or all of the elements described relative to the computer1502, although, for purposes of brevity, only a memory/storage device1550 is illustrated. The logical connections depicted includewired/wireless connectivity to a local area network (LAN) 1552 and/orlarger networks, for example, a wide area network (WAN) 1554. Such LANand WAN networking environments are commonplace in offices andcompanies, and facilitate enterprise-wide computer networks, such asintranets, all of which may connect to a global communications network,for example, the Internet.

When used in a LAN networking environment, the computer 1502 isconnected to the local network 1552 through a wired and/or wirelesscommunication network interface or adapter 1556. The adaptor 1556 mayfacilitate wired or wireless communication to the LAN 1552, which mayalso include a wireless access point disposed thereon for communicatingwith the wireless adaptor 1556.

When used in a WAN networking environment, the computer 1502 can includea modem 1558, or is connected to a communications server on the WAN1554, or has other means for establishing communications over the WAN1554, such as by way of the Internet. The modem 1558, which can beinternal or external and a wired or wireless device, is connected to thesystem bus 1508 via the serial port interface 1542. In a networkedenvironment, program modules depicted relative to the computer 1502, orportions thereof, can be stored in the remote memory/storage device1550. It will be appreciated that the network connections shown areexemplary and other means of establishing a communications link betweenthe computers can be used.

The computer 1502 is operable to communicate with any wireless devicesor entities operatively disposed in wireless communication, for example,a printer, scanner, desktop and/or portable computer, portable dataassistant, communications satellite, any piece of equipment or locationassociated with a wirelessly detectable tag (e.g., a kiosk, news stand,restroom), and telephone. This includes at least Wi-Fi and Bluetooth™wireless technologies. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices.

Wi-Fi, or Wireless Fidelity, allows connection to the Internet from acouch at home, a bed in a hotel room, or a conference room at work,without wires. Wi-Fi is a wireless technology similar to that used in acell phone that enables such devices, for example, computers, to sendand receive data indoors and out; anywhere within the range of a basestation. Wi-Fi networks use radio technologies called IEEE 802.11x (a,b, g, etc.) to provide secure, reliable, fast wireless connectivity. AWi-Fi network can be used to connect computers to each other, to theInternet, and to wired networks (which use IEEE 802.3 or Ethernet).

Wi-Fi networks can operate in the unlicensed 2.4 and 5 GHz radio bands.IEEE 802.11 applies to generally to wireless LANs and provides 1 or 2Mbps transmission in the 2.4 GHz band using either frequency hoppingspread spectrum (FHSS) or direct sequence spread spectrum (DSSS). IEEE802.11a is an extension to IEEE 802.11 that applies to wireless LANs andprovides up to 54 Mbps in the 5 GHz band. IEEE 802.11a uses anorthogonal frequency division multiplexing (OFDM) encoding scheme ratherthan FHSS or DSSS. IEEE 802.11b (also referred to as 802.11 High RateDSSS or Wi-Fi) is an extension to 802.11 that applies to wireless LANsand provides 11 Mbps transmission (with a fallback to 5.5, 2 and 1 Mbps)in the 2.4 GHz band. IEEE 802.11 g applies to wireless LANs and provides20+Mbps in the 2.4 GHz band. Products can contain more than one band(e.g., dual band), so the networks can provide real-world performancesimilar to the basic 10BaseT wired Ethernet networks used in manyoffices.

FIG. 16 illustrates a schematic block diagram of a portable wirelessdevice 1600 for user- and context-specific prefetching and caching inaccordance with the disclosed architecture. The device 1600 includes aprocessor 1602 that interfaces to one or more internal components forcontrol and processing of data and instructions. The processor 1602 canbe programmed to control and operate the various components within thedevice 1600 in order to carry out the various functions describedherein. The processor 1602 can be any of a plurality of suitableprocessors (e.g., a DSP-digital signal processor), and can be amultiprocessor subsystem.

A memory and storage component 1604 interfaces to the processor 1602 andserves to store program code, and also serves as a storage means forinformation such as data, applications, services, metadata, devicestates, and the like. For example, language modules and context data,user profile information, and associations between user context, images,text, speech, video files and other information can be stored here.Additionally, or alternatively, the device 1600 can operate tocommunicate with a remote system that can be accessed to download thelanguage modules and other related context determination informationthat might be needed based on a user providing some information as towhere the user may be traveling or into which contexts the user will beor typically travels. Thus, the device 1600 need only store a subset ofthe information that might be needed for any given context processing.

The memory and storage component 1604 can include non-volatile memorysuitably adapted to store at least a complete set of the sensed datathat is acquired from the sensing subsystem and/or sensors. Thus, thememory 1604 can include RAM or flash memory for high-speed access by theprocessor 1602 and/or a mass storage memory, e.g. a micro drive capableof storing gigabytes of data that comprises text, images, audio, and/orvideo content. According to one aspect, the memory 1604 has sufficientstorage capacity to store multiple sets of information relating todisparate services, and the processor 1602 can include a program thatfacilitates alternating or cycling between various sets of informationcorresponding to the disparate services.

A display 1606 can be coupled to the processor 1602 via a display driversubsystem 1608. The display 1606 can be a color liquid crystal display(LCD), plasma display, touch screen display, or the like. The display1606 functions to present data, graphics, or other information content.Additionally, the display 1606 can present a variety of functions thatare user selectable and that provide control and configuration of thedevice 1600. In a touch screen example, the display 1606 can displaytouch selectable icons that facilitate user interaction for controland/or configuration.

Power can be provided to the processor 1602 and other onboard componentsforming the device 1600 by an onboard power system 1610 (e.g., a batterypack or fuel cell). In the event that the power system 1610 fails orbecomes disconnected from the device 1600, an alternative power source1612 can be employed to provide power to the processor 1602 and othercomponents (e.g., sensors, image capture device, . . . ) and to chargethe onboard power system 1610, if a chargeable technology. For example,the alternative power source 1612 can facilitate interface to anexternal a grid connection via a power converter. The processor 1602 canbe configured to provide power management services to, for example,induce a sleep mode that reduces the current draw, or to initiate anorderly shutdown of the device 1600 upon detection of an anticipatedpower failure.

The device 1600 includes a data communication subsystem 1614 having adata communication port 1616, which port 1616 is employed to interfacethe device 1600 to a remote computing system, server, service, or thelike. The port 1616 can include one or more serial interfaces such as aUniversal Serial Bus (USB) and/or IEEE 1394 that provide serialcommunications capabilities. Other technologies can also be included,but are not limited to, for example, infrared communications utilizingan infrared communications port, and wireless packet communications(e.g. Bluetooth™, Wi-Fi, and Wi-Max). If a smartphone, the datacommunications subsystem 1614 can include SIM (subscriber identitymodule) data and the information necessary for cellular registration andnetwork communications.

The device 1600 can also include a radio frequency (RF) transceiversection 1618 in operative communication with the processor 1602. The RFsection 1618 includes an RF receiver 1620, which receives RF signalsfrom a remote device or system via an antenna 1622 and can demodulatethe signal to obtain digital information modulated therein. The RFsection 1618 also includes an RF transmitter 1624 for transmittinginformation (e.g., data, service(s)) to a remote device or system, forexample, in response to manual user input via a user input device 1626(e.g., a keypad), or automatically in response to detection of enteringand/or anticipation of leaving a communication range or otherpredetermined and programmed criteria.

The device 1600 can also include an audio I/O subsystem 1628 that iscontrolled by the processor 1602 and processes voice input from amicrophone or similar audio input device (not shown). The audiosubsystem 1628 also facilitates the presentation of audio output signalsvia a speaker or similar audio output device (not shown).

The device 1600 can also include a capture and recognition subsystem1630 that facilitates the captures and processing of context data. Thecapture and recognition subsystem 1630 interfaces to the processor 1602,and can also interface directly to an input sensing subsystems block1632 which can be a multi-modal system that can sense speech signals,text, images and biometrics, for example. It is to be appreciated thateither/both of the capture and recognition subsystem 1630 or/and theinput sensing subsystems 1632 can include individual processors tooffload processing from the central processor 1602. The device 1600 canalso include a physical interface subsystem 1634 that allows directphysical connection to another system (e.g., via a connector), ratherthan by wireless communications or cabled communications therebetween.

Referring now to FIG. 17, there is illustrated a schematic block diagramof an exemplary computing environment 1700 for background searching andcaching in accordance with another aspect. The system 1700 can includeone or more client(s)

1702. The client(s) 1702 can be hardware and/or software (e.g. threads,processes, computing devices). The client(s) 1702 can house cookie(s)and/or associated contextual information by employing the subjectinnovation, for example.

The system 1700 also includes one or more server(s) 1704. The server(s)1704 can also be hardware and/or software (e.g., threads, processes,computing devices). The servers 1704 can house threads to performtransformations by employing the invention, for example. One possiblecommunication between a client 1702 and a server 1704 can be in the formof a data packet configured to be transmitted between two or morecomputer processes. The data packet may include a cookie and/orassociated contextual information, for example.

The system 1700 includes a communication framework 1706 (e.g., a globalcommunication network such as the Internet and/or cellular network) thatcan be employed to facilitate communications between the client(s) 1702and the server(s) 1704, and one or more portable wireless devices, suchas a cellular telephone 1708, a tablet PC 1710, and a portable computer1712, for example.

Communications can be facilitated via a wired (including optical fiber)and/or wireless technology. The client(s) 1702 are operatively connectedto one or more client data store(s) 1714 that can be employed to storeinformation local to the client(s) 1702 (e.g., cookie(s) and/orassociated contextual information). Similarly, the server(s) 1704 areoperatively connected to one or more server data store(s) 1716 that canbe employed to store information local to the servers 1704.

Accordingly, the portable wireless devices, whether tethered oruntethered, can include the caching and prefetching capabilitiesdescribed supra for prefetching data based at least in part on userand/or context information.

What has been described above includes examples of the disclosedinnovation. It is, of course, not possible to describe every conceivablecombination of components and/or methodologies, but one of ordinaryskill in the art may recognize that many further combinations andpermutations are possible. Accordingly, the innovation is intended toembrace all such alterations, modifications and variations that fallwithin the spirit and scope of the appended claims. Furthermore, to theextent that the term “includes” is used in either the detaileddescription or the claims, such term is intended to be inclusive in amanner similar to the term “comprising” as “comprising” is interpretedwhen employed as a transitional word in a claim.

1. A computer-implemented system that facilitates searching in awireless device, comprising: a search component of the wireless devicethat performs an automated search of content stored within an intranetas a background process; a content storing component that caches contentcorresponding to the search results; and a presentation component thatretrieves and presents a subset of the cached content based on userinteraction with the wireless device.
 2. The system of claim 1, whereinthe wireless device is a cellular telephone, the search component ofwhich automatically performs the intranet search in response to a changein intranet information.
 3. The system of claim 1, wherein thepresentation component presents the search results in response to userinteraction that includes at least one of a change in user state, usercontext, and a user preference.
 4. The system of claim 1, wherein thecontent is presented at least one of visually and audibly.
 5. The systemof claim 1, further comprising an environment component that sensesenvironmental conditions in which the device is located, and based onthe environmental conditions, the search component initiates theintranet search.
 6. The system of claim 1, further comprising a contextcomponent that includes a geolocation system for determining ageographic location of the device.
 7. The system of claim 1, furthercomprising a filter component that filters content of the search resultsbased on a user preference.
 8. The system of claim 1, further comprisinga tracking component that tracks and logs at least one of a systemparameter, user interaction data, and an event, and infers a searchquery therefrom, the results of which are cached by the content storingcomponent.
 9. The system of claim 1, further comprising a machinelearning and reasoning component that employs a probabilistic and/orstatistical-based analysis to prognose or infer initiation of theintranet search by the search component.
 10. A computer-implementedmethod of managing content on a wireless device, comprising: initiatinga search of desktop content as a background process based on triggeringdata; assessing resource capabilities of the device; controllingprocessing of the content based on the resource capabilities; cachingthe content in a device storage system; and accessing the content fromthe storage system for display based on user information.
 11. The methodof claim 10, further comprising discarding the content from storagebased on temporal information.
 12. The method of claim 10, whereinassessing includes determining a burden of the background process oncurrently-running device processes.
 13. The method of claim 10, furthercomprising utilizing the desktop content for conducting a remote searchof information on a network.
 14. The method of claim 10, furthercomprising scanning for local information that indicates intentions of auser.
 15. The method of claim 10, wherein initiating is performed inresponse to triggering data that indicates a change geographic locationof the wireless device.
 16. The method of claim 10, further comprisingfiltering search results of the desktop search based on at least one ofuser preferences and merchant information.
 17. The method of claim 10,further comprising automatically transmitting a document of the searchresults to a remote location.
 18. The method of claim 10, furthercomprising connecting the wireless device to a computing device andsearching the desktop content of the computing device via the wirelessdevice.
 19. The method of claim 10, wherein assessing includesdetermining a burden of the background process on device hardware.
 20. Acomputer-executable system for managing content of a cellular telephone,comprising: computer-implemented means for monitoring an event of thetelephone; computer-implemented means for searching a desktop as abackground process based on occurrence of the event;computer-implemented means for caching search results in device memory;and computer-implemented means for presenting the search results at alater time.